package compra.steps;

import compra.main.Usuario;

import controlador.npws.Atributos;
import controlador.npws.DataHolder;
import controlador.npws.Passo;
import controlador.npws.PassoNpdl;

public class RuleEfetuaCompra  extends Passo{
	
	private int regraFalsa = 0;

	private int regraVerdadeira = 1;

	private int statusDaRegra = regraVerdadeira;

	public RuleEfetuaCompra(PassoNpdl passoNpdl) {
		super(passoNpdl);
	}

	public void avaliaPasso(Object obj) {
		DataHolder holder = (DataHolder) obj;

		Usuario usuario = (Usuario) holder.getDado(Atributos.usuario);
		
		if (usuario.querEfetuarCompra()) {
			this.statusDaRegra = this.regraVerdadeira;
		} else {
			this.statusDaRegra = this.regraFalsa;
		}		
	}

	public void executaPasso() {
		(super.passo).executeRule(super.passoId, super.instanciaId,
				statusDaRegra);
	}
}
